// This file contains stubs matching the sybols previously exported by libobjc
// when i386 Mac was actually supported. These stubs allow us to tease apart the
// dependencies to prepare for removing i386 Mac libobjc entirely.
//
// This file is not built when building for any other arch/OS combination. When
// building for i386 Mac, no other source files are built, just this one. This
// is handled using the Included/Excluded Source File Names settings in Xcode,
// with arch/OS-specific overrides.
//
// rdar://problem/58541885

#pragma GCC visibility push(default)
const char ___ld_hide_os10_5__objc_class_name_NSObject __asm__("$ld$hide$os10.5$.objc_class_name_NSObject");
const char ___ld_hide_os10_6__objc_class_name_NSObject __asm__("$ld$hide$os10.6$.objc_class_name_NSObject");
const char ___ld_hide_os10_7__objc_class_name_NSObject __asm__("$ld$hide$os10.7$.objc_class_name_NSObject");
const char ___objc_class_name_List __asm__(".objc_class_name_List");
const char ___objc_class_name_NSObject __asm__(".objc_class_name_NSObject");
const char ___objc_class_name_Object __asm__(".objc_class_name_Object");
const char ___objc_class_name_Protocol __asm__(".objc_class_name_Protocol");
void NXCompareHashTables(void) {}
void NXCompareMapTables(void) {}
void NXCopyHashTable(void) {}
void NXCopyStringBuffer(void) {}
void NXCopyStringBufferFromZone(void) {}
void NXCountHashTable(void) {}
void NXCountMapTable(void) {}
void NXCreateHashTable(void) {}
void NXCreateHashTableFromZone(void) {}
void NXCreateMapTable(void) {}
void NXCreateMapTableFromZone(void) {}
void NXEmptyHashTable(void) {}
void NXFreeHashTable(void) {}
void NXFreeMapTable(void) {}
void NXHashGet(void) {}
void NXHashInsert(void) {}
void NXHashInsertIfAbsent(void) {}
void NXHashMember(void) {}
void NXHashRemove(void) {}
void NXInitHashState(void) {}
void NXInitMapState(void) {}
void NXMapGet(void) {}
void NXMapInsert(void) {}
void NXMapMember(void) {}
void NXMapRemove(void) {}
void NXNextHashState(void) {}
void NXNextMapState(void) {}
void NXNoEffectFree(void) {}
const char NXObjectMapPrototype;
void NXPtrHash(void) {}
void NXPtrIsEqual(void) {}
const char NXPtrPrototype;
const char NXPtrStructKeyPrototype;
const char NXPtrValueMapPrototype;
void NXReallyFree(void) {}
void NXResetHashTable(void) {}
void NXResetMapTable(void) {}
void NXStrHash(void) {}
void NXStrIsEqual(void) {}
const char NXStrPrototype;
const char NXStrStructKeyPrototype;
const char NXStrValueMapPrototype;
void NXUniqueString(void) {}
void NXUniqueStringNoCopy(void) {}
void NXUniqueStringWithLength(void) {}
char _alloc;
void _class_getIvarMemoryManagement(void) {}
void _class_isFutureClass(void) {}
void _class_isSwift(void) {}
char _copy;
char _dealloc;
char _error;
void _objcInit(void) {}
void _objc_addWillInitializeClassFunc(void) {}
void _objc_atfork_child(void) {}
void _objc_atfork_parent(void) {}
void _objc_atfork_prepare(void) {}
void _objc_autoreleasePoolPop(void) {}
void _objc_autoreleasePoolPrint(void) {}
void _objc_autoreleasePoolPush(void) {}
void _objc_deallocOnMainThreadHelper(void) {}
const char _objc_debug_class_hash;
const char _objc_empty_cache;
void _objc_error(void) {}
void _objc_flush_caches(void) {}
void _objc_getFreedObjectClass(void) {}
void _objc_init(void) {}
void _objc_msgForward(void) {}
void _objc_msgForward_stret(void) {}
void _objc_resolve_categories_for_class(void) {}
void _objc_rootAlloc(void) {}
void _objc_rootAllocWithZone(void) {}
void _objc_rootAutorelease(void) {}
void _objc_rootDealloc(void) {}
void _objc_rootFinalize(void) {}
void _objc_rootHash(void) {}
void _objc_rootInit(void) {}
void _objc_rootIsDeallocating(void) {}
void _objc_rootRelease(void) {}
void _objc_rootReleaseWasZero(void) {}
void _objc_rootRetain(void) {}
void _objc_rootRetainCount(void) {}
void _objc_rootTryRetain(void) {}
void _objc_rootZone(void) {}
void _objc_setBadAllocHandler(void) {}
void _objc_setClassLoader(void) {}
void _protocol_getMethodTypeEncoding(void) {}
char _realloc;
char _zoneAlloc;
char _zoneCopy;
char _zoneRealloc;
void class_addIvar(void) {}
void class_addMethod(void) {}
void class_addMethods(void) {}
void class_addProperty(void) {}
void class_addProtocol(void) {}
void class_conformsToProtocol(void) {}
void class_copyIvarList(void) {}
void class_copyMethodList(void) {}
void class_copyPropertyList(void) {}
void class_copyProtocolList(void) {}
void class_createInstance(void) {}
void class_createInstanceFromZone(void) {}
void class_createInstances(void) {}
void class_getClassMethod(void) {}
void class_getClassVariable(void) {}
void class_getImageName(void) {}
void class_getInstanceMethod(void) {}
void class_getInstanceSize(void) {}
void class_getInstanceVariable(void) {}
void class_getIvarLayout(void) {}
void class_getMethodImplementation(void) {}
void class_getMethodImplementation_stret(void) {}
void class_getName(void) {}
void class_getProperty(void) {}
void class_getSuperclass(void) {}
void class_getVersion(void) {}
void class_getWeakIvarLayout(void) {}
void class_isMetaClass(void) {}
void class_lookupMethod(void) {}
void class_nextMethodList(void) {}
void class_poseAs(void) {}
void class_removeMethods(void) {}
void class_replaceMethod(void) {}
void class_replaceProperty(void) {}
void class_respondsToMethod(void) {}
void class_respondsToSelector(void) {}
void class_setIvarLayout(void) {}
void class_setSuperclass(void) {}
void class_setVersion(void) {}
void class_setWeakIvarLayout(void) {}
void gdb_class_getClass(void) {}
void gdb_object_getClass(void) {}
void imp_getBlock(void) {}
void imp_implementationWithBlock(void) {}
void imp_removeBlock(void) {}
void instrumentObjcMessageSends(void) {}
void ivar_getName(void) {}
void ivar_getOffset(void) {}
void ivar_getTypeEncoding(void) {}
void method_copyArgumentType(void) {}
void method_copyReturnType(void) {}
void method_exchangeImplementations(void) {}
void method_getArgumentType(void) {}
void method_getDescription(void) {}
void method_getImplementation(void) {}
void method_getName(void) {}
void method_getNumberOfArguments(void) {}
void method_getReturnType(void) {}
void method_getSizeOfArguments(void) {}
void method_getTypeEncoding(void) {}
void method_invoke(void) {}
void method_invoke_stret(void) {}
void method_setImplementation(void) {}
void objc_addClass(void) {}
void objc_addLoadImageFunc(void) {}
void objc_alloc(void) {}
void objc_allocWithZone(void) {}
void objc_alloc_init(void) {}
void objc_allocateClassPair(void) {}
void objc_allocateProtocol(void) {}
void objc_allocate_object(void) {}
void objc_appRequiresGC(void) {}
void objc_assertRegisteredThreadWithCollector(void) {}
void objc_assign_global(void) {}
void objc_assign_ivar(void) {}
void objc_assign_strongCast(void) {}
void objc_assign_threadlocal(void) {}
void objc_assign_weak(void) {}
void objc_atomicCompareAndSwapGlobal(void) {}
void objc_atomicCompareAndSwapGlobalBarrier(void) {}
void objc_atomicCompareAndSwapInstanceVariable(void) {}
void objc_atomicCompareAndSwapInstanceVariableBarrier(void) {}
void objc_atomicCompareAndSwapPtr(void) {}
void objc_atomicCompareAndSwapPtrBarrier(void) {}
void objc_autorelease(void) {}
void objc_autoreleasePoolPop(void) {}
void objc_autoreleasePoolPush(void) {}
void objc_autoreleaseReturnValue(void) {}
void objc_clear_deallocating(void) {}
void objc_clear_stack(void) {}
void objc_collect(void) {}
void objc_collect_init(void) {}
void objc_collectableZone(void) {}
void objc_collectingEnabled(void) {}
void objc_collecting_enabled(void) {}
void objc_constructInstance(void) {}
void objc_copyClassList(void) {}
void objc_copyClassNamesForImage(void) {}
void objc_copyClassNamesForImageHeader(void) {}
void objc_copyCppObjectAtomic(void) {}
void objc_copyImageNames(void) {}
void objc_copyProtocolList(void) {}
void objc_copyStruct(void) {}
void objc_copyWeak(void) {}
const char objc_debug_autoreleasepoolpage_child_offset;
const char objc_debug_autoreleasepoolpage_depth_offset;
const char objc_debug_autoreleasepoolpage_hiwat_offset;
const char objc_debug_autoreleasepoolpage_magic_offset;
const char objc_debug_autoreleasepoolpage_next_offset;
const char objc_debug_autoreleasepoolpage_parent_offset;
const char objc_debug_autoreleasepoolpage_thread_offset;
void objc_destroyWeak(void) {}
void objc_destructInstance(void) {}
void objc_disposeClassPair(void) {}
void objc_dumpHeap(void) {}
void objc_duplicateClass(void) {}
void objc_enumerationMutation(void) {}
void objc_exception_extract(void) {}
void objc_exception_get_functions(void) {}
void objc_exception_match(void) {}
void objc_exception_set_functions(void) {}
void objc_exception_throw(void) {}
void objc_exception_try_enter(void) {}
void objc_exception_try_exit(void) {}
void objc_finalizeOnMainThread(void) {}
void objc_getAssociatedObject(void) {}
void objc_getClass(void) {}
void objc_getClassList(void) {}
void objc_getClasses(void) {}
void objc_getFutureClass(void) {}
void objc_getMetaClass(void) {}
void objc_getOrigClass(void) {}
void objc_getProperty(void) {}
void objc_getProtocol(void) {}
void objc_getRequiredClass(void) {}
void objc_initWeak(void) {}
void objc_initWeakOrNil(void) {}
void objc_initializeClassPair(void) {}
void objc_isAuto(void) {}
void objc_is_finalized(void) {}
void objc_loadModule(void) {}
void objc_loadModules(void) {}
void objc_loadWeak(void) {}
void objc_loadWeakRetained(void) {}
void objc_lookUpClass(void) {}
void objc_memmove_collectable(void) {}
void objc_moveWeak(void) {}
void objc_msgSend(void) {}
void objc_msgSendSuper(void) {}
void objc_msgSendSuper_stret(void) {}
void objc_msgSend_fpret(void) {}
void objc_msgSend_stret(void) {}
void objc_msgSendv(void) {}
void objc_msgSendv_fpret(void) {}
void objc_msgSendv_stret(void) {}
void objc_opt_class(void) {}
void objc_opt_isKindOfClass(void) {}
void objc_opt_new(void) {}
void objc_opt_respondsToSelector(void) {}
void objc_opt_self(void) {}
void objc_read_weak(void) {}
void objc_registerClassPair(void) {}
void objc_registerProtocol(void) {}
void objc_registerThreadWithCollector(void) {}
void objc_release(void) {}
void objc_removeAssociatedObjects(void) {}
void objc_retain(void) {}
void objc_retainAutorelease(void) {}
void objc_retainAutoreleaseReturnValue(void) {}
void objc_retainAutoreleasedReturnValue(void) {}
void objc_retainBlock(void) {}
void objc_retain_autorelease(void) {}
void objc_retainedObject(void) {}
void objc_setAssociatedObject(void) {}
void objc_setClassHandler(void) {}
void objc_setCollectionRatio(void) {}
void objc_setCollectionThreshold(void) {}
void objc_setEnumerationMutationHandler(void) {}
void objc_setForwardHandler(void) {}
void objc_setHook_getImageName(void) {}
void objc_setMultithreaded(void) {}
void objc_setProperty(void) {}
void objc_setProperty_atomic(void) {}
void objc_setProperty_atomic_copy(void) {}
void objc_setProperty_nonatomic(void) {}
void objc_setProperty_nonatomic_copy(void) {}
void objc_set_collection_ratio(void) {}
void objc_set_collection_threshold(void) {}
void objc_should_deallocate(void) {}
void objc_startCollectorThread(void) {}
void objc_start_collector_thread(void) {}
void objc_storeStrong(void) {}
void objc_storeWeak(void) {}
void objc_storeWeakOrNil(void) {}
void objc_sync_enter(void) {}
void objc_sync_exit(void) {}
void objc_sync_try_enter(void) {}
void objc_unloadModules(void) {}
void objc_unregisterThreadWithCollector(void) {}
void objc_unretainedObject(void) {}
void objc_unretainedPointer(void) {}
void objc_unsafeClaimAutoreleasedReturnValue(void) {}
void object_copy(void) {}
void object_copyFromZone(void) {}
void object_dispose(void) {}
void object_getClass(void) {}
void object_getClassName(void) {}
void object_getIndexedIvars(void) {}
void object_getInstanceVariable(void) {}
void object_getIvar(void) {}
void object_getMethodImplementation(void) {}
void object_getMethodImplementation_stret(void) {}
void object_isClass(void) {}
void object_realloc(void) {}
void object_reallocFromZone(void) {}
void object_setClass(void) {}
void object_setInstanceVariable(void) {}
void object_setInstanceVariableWithStrongDefault(void) {}
void object_setIvar(void) {}
void object_setIvarWithStrongDefault(void) {}
void property_copyAttributeList(void) {}
void property_copyAttributeValue(void) {}
void property_getAttributes(void) {}
void property_getName(void) {}
void protocol_addMethodDescription(void) {}
void protocol_addProperty(void) {}
void protocol_addProtocol(void) {}
void protocol_conformsToProtocol(void) {}
void protocol_copyMethodDescriptionList(void) {}
void protocol_copyPropertyList(void) {}
void protocol_copyPropertyList2(void) {}
void protocol_copyProtocolList(void) {}
void protocol_getMethodDescription(void) {}
void protocol_getName(void) {}
void protocol_getProperty(void) {}
void protocol_isEqual(void) {}
void sel_getName(void) {}
void sel_getUid(void) {}
void sel_isEqual(void) {}
void sel_isMapped(void) {}
void sel_registerName(void) {}
void objc_cache_buckets(void) {}
void objc_cache_bytesForCapacity(void) {}
void objc_cache_capacity(void) {}
void objc_cache_occupied(void) {}
void objc_copyClassesForImage(void) {}
